Push voicemail via &#34;always on&#34;

ABSTRACT

Solutions which address a growing and compelling need recognized in connection with rendering VOIP systems on laptops, or even on other mobile devices, even more versatile and user-friendly so as to even better replicate the advantages of cell phones. Broadly contemplated herein two modes of network access and two modes of user interface, which modes can be combined in any way as deemed suitable or appropriate. Preferably, a commonality between the contemplated network access and user interface modes is the use of a low-powered secondary processor, a secondary operating system, and non volatile storage applications which could be networking applications (e.g., an Always On subsystem).

FIELD OF THE INVENTION

The present invention relates generally to notebook computers and thelike, and to methods and arrangements for managing voicemail in suchsettings and in other settings.

BACKGROUND OF THE INVENTION

The use of VOIP (voice-over-internet-protocol) based phone systems hasbeen increasing significantly. One advantage of such a system is theability to run a “soft” phone client on a user's computer (and, mostusefully, on a laptop or notebook) to forward voicemail traffic throughthe computer system from a PC voice application in such a way that it isfunctionally equivalent to the user's “hard phone”, generally aland-line phone located, e.g., at an office location. In other words,the computer can not only act as a phone per se in realtime by use of aspeaker and microphone associated with the computer, but can alsoreceive and store voicemail whenever the computer is on.

A fundamental problem with this approach, however, is that laptops aretypically disconnected much more frequently than cell phones and, assuch, are normally not as versatile and handy as cell phones. Forinstance, a cell phone user can listen to locally recorded messageswhile the phone is disconnected, e.g., in an airplane while voicemessages left via a computer voicemail server would be inaccessible.Accordingly, a computer “soft phone” is generally only useful when thelaptop is open and operational. Once the lid is closed, the laptopnormally “sleeps” or hibernates and cannot act as a phone at all, evento simply receive voicemail. Any calls received by a VOIP in the “backend”, or away from the laptop, are not availed to the laptop at alluntil the laptop comes out of “suspend” or “hibernate” mode, makes anetwork connection (assuming one is available) and connects with theback-end VOIP server.

Thus, a growing and compelling need has been recognized in connectionwith rendering VOIP systems on laptops, or even on other mobile devices,even more versatile and user-friendly so as to even better replicate theadvantages of cell phones.

SUMMARY OF THE INVENTION

Broadly contemplated herein are solutions which address the problems setforth above. Particularly, there are broadly contemplated herein twomodes of network access and two modes of user interface, which modes canbe combined in any way as deemed suitable or appropriate.

Preferably, a commonality between the network access and user interfacemodes broadly contemplated herein is the use of a low-powered secondaryprocessor, a secondary operating system, and non volatile storageapplications which could be networking applications (e.g., an Always Onsubsystem).

In summary, one aspect of the invention provides an apparatuscomprising: a main memory; a first operating system in communicationwith the main memory; and a second operating system in communicationwith the main memory and the first operating system; a network interfacearrangement which enables: communication between the first operatingsystem and a voicemail server; and communication between the secondoperating system and the voicemail server; the second operating systemacting to interface with the voicemail server responsive to a suspendedstate of the first operating system.

Another aspect of the invention provides a method comprising: managingvoicemail with a first operating system, via a connection with avoicemail server; and managing voicemail with a second operating system,via a connection with a voicemail server, responsive to a suspendedstate of the first operating system.

Furthermore, an additional aspect of the invention provides a programstorage device readable by machine, tangibly embodying a program ofinstructions executable by the machine to perform a method comprising:managing voicemail with a first operating system, via a connection witha voicemail server; and managing voicemail with a second operatingsystem, via a connection with a voicemail server, responsive to asuspended state of the first operating system.

For a better understanding of the present invention, together with otherand further features and advantages thereof, reference is made to thefollowing description, taken in conjunction with the accompanyingdrawings, and the scope of the invention will be pointed out in theappended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically illustrates a computer system with addedcomponents.

FIG. 2 schematically illustrates a process for employing a secondarysubsystem to handle voicemail.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

For a better understanding of the present invention, together with otherand further features and advantages thereof, reference is made to thefollowing description, taken in conjunction with the accompanyingdrawings, and the scope of the invention will be pointed out in theappended claims.

It will be readily understood that the components of the presentinvention, as generally described and illustrated in the Figures herein,may be arranged and designed in a wide variety of differentconfigurations. Thus, the following more detailed description of theembodiments of the apparatus, system, and method of the presentinvention, as represented in FIGS. 1-2, is not intended to limit thescope of the invention, as claimed, but is merely representative ofselected embodiments of the invention.

Reference throughout this specification to “one embodiment” or “anembodiment” (or the like) means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of the present invention. Thus, appearancesof the phrases “in one embodiment” or “in an embodiment” in variousplaces throughout this specification are not necessarily all referringto the same embodiment.

Furthermore, the described features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments. In thefollowing description, numerous specific details are provided, such asexamples of programming, software modules, user selections, networktransactions, database queries, database structures, hardware modules,hardware circuits, hardware chips, etc., to provide a thoroughunderstanding of embodiments of the invention. One skilled in therelevant art will recognize, however, that the invention can bepracticed without one or more of the specific details, or with othermethods, components, materials, etc. In other instances, well-knownstructures, materials, or operations are not shown or described indetail to avoid obscuring aspects of the invention.

The illustrated embodiments of the invention will be best understood byreference to the drawings, wherein like parts are designated by likenumerals or other labels throughout. The following description isintended only by way of example, and simply illustrates certain selectedembodiments of devices, systems, and processes that are consistent withthe invention as claimed herein.

Referring now to FIG. 1, there is depicted a block diagram of anillustrative embodiment of a computer system 12. The illustrativeembodiment depicted in FIG. 1 may be a notebook computer system, such asone of the ThinkPad® series of personal computers sold by Lenovo (US)Inc. of Morrisville, N.C., however, as will become apparent from thefollowing description, the present invention is applicable to any dataprocessing system.

As shown in FIG. 1, computer system 12 includes at least one systemprocessor 42, which is coupled to a Read-Only Memory (ROM) 40 and asystem memory 46 by a processor bus 44. System processor 42, which maycomprise one of the AMD™ line of processors produced by AMD Corporationor a processor produced by Intel Corporation, is a general-purposeprocessor that executes boot code 41 stored within ROM 40 at power-onand thereafter processes data under the control of operating system andapplication software stored in system memory 46. System processor 42 iscoupled via processor bus 44 and host bridge 48 to Peripheral ComponentInterconnect (PCI) local bus 50.

PCI local bus 50 supports the attachment of a number of devices,including adapters and bridges. Among these devices is network adapter66, which interfaces computer system 12 to a LAN, and graphics adapter68, which interfaces computer system 12 to display 69. Communication onPCI local bus 50 is governed by local PCI controller 52, which is inturn coupled to non-volatile random access memory (NVRAM) 56 via memorybus 54. Local PCI controller 52 can be coupled to additional buses anddevices via a second host bridge 60.

Computer system 12 further includes Industry Standard Architecture (ISA)bus 62, which is coupled to PCI local bus 50 by ISA bridge 64. Coupledto ISA bus 62 is an input/output (I/O) controller 70, which controlscommunication between computer system 12 and attached peripheral devicessuch as a keyboard and mouse. In addition, I/O controller 70 supportsexternal communication by computer system 12 via serial and parallelports. A disk controller 72 is in communication with a disk drive 200.Of course, it should be appreciated that the system 12 may be built withdifferent chip sets and a different bus structure, as well as with anyother suitable substitute components, while providing comparable oranalogous functions to those discussed above.

A “primary” or “main” operating system (OS) as normally employed by thesystem is indicated by the dotted box at 89 as normally encompassingcomponents 40, 41, 42, 46 and 48, while, in accordance with a preferredembodiment of the present invention, a second OS can be embodied by anAlways On Operating System (AO OS, or “AO”), indicated at 90, with itsown memory, 92.

Further, a back-end voicemail server 202, as known, is preferably incommunication with system 12 periodically via a network connection 204.In accordance with a preferred embodiment of the present invention, AOOS 90 preferably serves as a backup for enabling the accessing ofvoicemail messages when the system 12 is in a suspended state (e.g., alaptop lid is closed).

Normally, a standby state (often referred to as an “S3” state) equatesto a complete system shutdown, except for memory. Thus, in an S3 orstandby state (which terms will heretofore be used and can be understoodinterchangeably) the memory (e.g., system memory 46 in FIG. 1) remainscoherent while other system elements are not. Such a state oftenprevails when, without actually shutting down a notebook system, adistinct physically act takes place such as the closing of the notebooklid. This state contrasts with what is commonly known as “S4”, or“hibernate”, and “S5”, or “power off”. S4/hibernate relates to a lowbattery state when, to avoid a degree of system corruption that mightotherwise occur when battery power completely runs out, all openapplications are rolled out to a file on the hard drive without beingretained in system memory per se. S5 or power off, essentially, relatesto complete system shutdown. S3/standby particularly contrasts withS4/hibernate in that the former normally involves a much faster resumetime, e.g., when the lid is reopened; on the other hand, resuming asystem from hibernation/S4 is typically a longer and more inconvenientprocess. Herein, the terms “S3” and “standby” and “suspend”, and theirderivatives, should be understood as being interchangeable with eachother for the purposes of discussion, as should the pair of terms “S4”and “hibernate” (and their derivatives) as well as the pair of terms“S5” and “power off” (and their derivatives).

The AO 90 can be embodied by essentially any suitable operating systemthat is capable of functioning as described herein, e.g., a “WINDOWS CE”or “WINDOWS PE” system, or a “LINUX” system. The AO 90 can be providedin the form of a system card or in essentially any other suitable form,such as via components already in the computer (e.g., a portion of ahard drive).

As mentioned further above, there are broadly contemplated herein twomodes of network access and two modes of user interface, which modes canbe combined in any way as deemed suitable or appropriate. Preferably, acommonality between the network access and user interface modes broadlycontemplated herein is the use of a low-powered secondary processor, asecondary operating system, and non volatile storage applications whichcould be networking applications (e.g., an Always On subsystem). Itshould be understood that the network interface in question ispreferably independent of a network connection (e.g., 204) that mightnormally be utilized for connecting the system 12 to back-end server202. (However, in an alternative embodiment, the system 12 and AO 90could alternately use and reuse essentially the same network, as will bedescribed further below.)

The “secondary” network interface, then, is indicated at 206 in FIG. 1while the user interface is indicated at 208. Preferably, both of thesemay be associated with an Always On (AO) subsystem to be described inmore detail herebelow, but it should be understood that essentially anytype of secondary subsystem that is functionally equivalent to an AOsystem may be employed.

One contemplated mode of network access (at 206) is a WWAN (WirelessWide Area Network) subsystem shared with a main computer processor andOS via a switching mechanism, such as via a BIOS (basic input/outputsystem). Another contemplated mode of network access is via a tetheredmodem connection using an external device such as a “SmartPhone”.

One contemplated mode of user interface (at 208) is a voice phoneapplication running in the primary OS, e.g., as produced by Avaya, Inc.of Basking Ridge, N.J. Another contemplated mode of user interface is awirelessly connected device with voice capabilities, such as a“BLUETOOTH” enabled cell phone.

As touched on hereinabove, conventional voice applications for laptopsrely on a back-end server 202 to store voicemail messages. Accordingly,access to the messages requires a current network connection (204).Preferably, however, in accordance with a presently preferred embodimentof the present invention, a main OS voice application is modified suchthat it can store locally any voice messages to be sent, received, orconditionally redirected.

In this vein, referring now to FIG. 2, when a voice message is receivedor created at the back-end server (e.g., SIP), it will also preferablybe stored in the AO subsystem (90 in FIG. 1); when deleted from the mainOS voice application, the message will preferably also be removed fromthe AO subsystem. Accordingly, when an action of receiving, creating ordeleting a voice message at the back-end server takes place (302), thisis preferably replicated at the AO subsystem (304).

This will continue until the laptop goes into a suspended state (306),at which point the main OS voice application itself will be suspended.At this point, the AO subsystem will preferably be notified (308) of anypending outgoing messages (thereby eliminating the need to wait formessages to be sent in the main OS 89, FIG. 1). Thence, the AO subsystemmay preferably “sync” with the back-end server via the AO's independentnetwork interface (206 in FIG. 1). “Syncing” can take on any of a widevariety of suitable forms; generally, once the AO subsystem establishesa suitable network connection (that is operable outside of the suspendedstate of system 12, FIG. 1) (310), the AO subsystem will be able to sendand receive messages through this connection (312) despite the main OSbeing unable to do so.

Preferably, during this “syncing” process (312), the user will be ableto receive voice mail notifications through any number of mechanismssuch as LED's (e.g., a light prompt) or SMS (short message service);this could be accomplished, e.g., via a “BLUETOOTH” connection betweenthe system and a user's cell phone. Through essentially any suitablemanner, while the computer system is in a suspended state, the AOsubsystem may preferably reconnect periodically with the back-endvoicemail and, at such times, update the voice mail in the AO subsystemstorage.

It should be appreciated that when the laptop next goes out of suspendmode, e.g., when the user reopens the laptop, the AO subsystem will havealready updated the local voice mail box with messages, history andcurrent status. Alternatively, the user can access this information atany time and continuously through a wireless connection to the suspendednotebook using any wireless capability of the AO subsystem (e.g.“BLUETOOTH”) and a compatible external device (e.g. a separate phone);this would be akin, e.g., to retrieving cell phone voicemail fromanother phone such as a land-line. In this case the user's experiencewill be as if they are using their cell phone as a hard phone connectedback to their VOIP phone address.

If the laptop is WWAN-enabled and, e.g., a cell phone is not dataplan-enabled in a particular part of the world, then the cell phone“BLUETOOTH”, connected to the suspended notebook, could receive callsfrom a home country without employing long distance charges; theoriginating calls would simply be dialed in to a “home” VOIP number.

If a “BLUETOOTH” device or capability is attached to the AO subsystem,then it would even be possible to provide some measure of real timeconversation as well as messages. The limitation would only be in thefidelity of the wireless devices with regard to sending and receiving“BLUETOOTH” audio in real time.

By way of further elaboration on the embodiments of the presentinvention as broadly contemplated herein, it will be appreciated thatthe embodiments of the present invention generally broadly embrace thosesystems and methods wherein there are two operating systems, and asecond operating system acts to interface with a voicemail serverresponsive to a suspended state of a first operating system. Preferably,the first operating system will be a main OS of a computer while thesecond operating system will be an AO system that acts to communicatewith an outside network when the main OS is in a suspended state (e.g.,when a laptop lid is closed) and to the extent that a network connectionof some type is available. The network connection, and the elements usedto make the connection, may be different from or the same as a networkconnection used by the main OS.

Preferably, an AO may employ a WWAN (wireless wide area network) as a“back channel” for gaining a network link when the main OS is in asuspended state. Also contemplated for the purpose is a WiMAX (WorldwideInteroperability for Microwave Access) network, which is atelecommunications technology configured for providing wireless dataover long distances. With a WWAN as a “back channel”, essentially a cellphone network provides data access for the AO system.

While the AO may not always necessarily be network-connected when themain OS is in a suspend state, the AO may still serve a useful function.It can avail a user of the ability to, e.g., listen to locally storedvoicemails and to record voicemails which can be stored and then sent assoon as a network connection becomes active.

To the extent that “BLUETOOTH” technology is contemplated herein for usewith the embodiments of the present invention, this would simply allowthe AO, while the main OS is in a suspended state, to freelycommunicate, e.g., with a mobile device such as a cell phone or personaldata assistant. In this manner, e.g., the laptop lid can remain closedbut the AO, while network connected, can still send data to a user'scell phone or other mobile device via the “BLUETOOTH” connection. Inthis manner, a user could use the cell phone or other mobile device toretrieve and/or send voicemails through the AO, and to be alerted ofvoicemail events (such as an incoming voicemail message), e.g., via anauditory or visual prompt at the cell phone or other mobile device.Preferably, the AO may include a “BLUETOOTH” radio for the purpose justdescribed.

A variation on this would be if the “BLUETOOTH” radio of the AO is usedto “piggy back” onto the data transmission capabilities of the user'scell phone or other mobile device. In other words, the AO would not needto use its own WWAN connection if the cell phone has one. Rather, the AOcould use “BLUETOOTH” to communicate with the cell phone (or othermobile device) to use the cell phone's (or other mobile device's) WWANconnection. Thus, the AO could have two built in radios, that is, bothWWAN and “BLUETOOTH”.

In another manner of message notification, the AO card could preferablyhave a visual indicator for messages (LED's) or could have a mediumaffording SMS (text message) notification.

As mentioned further above, in accordance with variant embodiments ofthe present invention, the general system (12 in FIG. 1) and AO (90 inFIG. 1) could alternately use or reuse the same network connectioninterface. For instance, an AO card as broadly contemplated herein couldwell include network interface elements (e.g., 802.11 or WiMax) thatwould also be usable by the main processor of the system. This wouldeliminate the need for any type of complex switching arrangement that,e.g., would need to alternately switch between the AO card and one ormore elements on, e.g., the motherboard of the system. Accordingly, inaccordance with at least one presently preferred embodiment of thepresent invention, network interfaces as used by the AO and by the mainsystem need not necessarily be separate and independent, but indeedcould alternately employ the same elements.

It should be generally understood that, whereas examples in accordancewith at least one embodiment of the present invention, as set forthhereinabove, have focused on the environment of a laptop or notebook,the battery management protocols broadly contemplated herein can ofcourse be employed in a very wide variety of mobile device settings,such as with personal data assistants.

It is to be understood that the present invention, in accordance with atleast one presently preferred embodiment, includes elements that may beimplemented on at least one general-purpose computer running suitablesoftware programs. These may also be implemented on at least oneIntegrated Circuit or part of at least one Integrated Circuit. Thus, itis to be understood that the invention may be implemented in hardware,software, or a combination of both.

If not otherwise stated herein, it is to be assumed that all patents,patent applications, patent publications and other publications(including web-based publications) mentioned and cited herein are herebyfully incorporated by reference herein as if set forth in their entiretyherein.

Although illustrative embodiments of the present invention have beendescribed herein with reference to the accompanying drawings, it is tobe understood that the invention is not limited to those preciseembodiments, and that various other changes and modifications may beaffected therein by one skilled in the art without departing from thescope or spirit of the invention.

1. An apparatus comprising: a main memory; a first operating system incommunication with said main memory; and a second operating system incommunication with said main memory and said first operating system; anetwork interface arrangement which enables: communication between saidfirst operating system and a voicemail server; and communication betweensaid second operating system and the voicemail server; said secondoperating system acting to interface with the voicemail serverresponsive to a suspended state of said first operating system.
 2. Theapparatus according to claim 1, wherein said network interfacearrangement comprises: a first network interface which enablescommunication between said first operating system and a voicemailserver; and a second network interface which enables communicationbetween said second operating system and the voicemail server; saidsecond network interface being independently operable with respect tosaid first network interface.
 3. The apparatus according to claim 1,wherein said first operating system comprises a primary operatingsystem.
 4. The apparatus according to claim 1, wherein said secondoperating system comprises an always on operating system.
 5. Theapparatus according to claim 1, wherein said apparatus comprises alaptop computer system.
 6. The apparatus according to claim 1, whereinsaid second operating system acts to functionally synchronize with thevoicemail server during a suspended state of said first operatingsystem, whereby said second operating system receives voicemail datafrom the voicemail server.
 7. The apparatus according to claim 6,wherein said second operating system acts to periodically receivevoicemail data from the voicemail server during a suspended state ofsaid first operating system.
 8. The apparatus according to claim 1,wherein said second operating system acts to receive notification ofpending outgoing mail responsive to a suspended state of said firstoperating system.
 9. The apparatus according to claim 1, wherein saidsecond operating system acts to receive replicated voicemail data fromthe voicemail server when said first operating system is not in asuspended state.
 10. A method comprising: managing voicemail with afirst operating system, via a connection with a voicemail server; andmanaging voicemail with a second operating system, via a connection witha voicemail server, responsive to a suspended state of the firstoperating system.
 11. The method according to claim 10, wherein: saidmanaging with a first operating system comprises managing voicemail viaa first connection with a voicemail server; and said managing with asecond operating system comprises managing voicemail via a secondconnection with a voicemail server, the second connection beingindependently operable with respect to the first connection.
 12. Themethod according to claim 10, wherein the first operating systemcomprises a primary operating system.
 13. The method according to claim10, wherein the second operating system comprises an always on operatingsystem.
 14. The method according to claim 10, wherein the first andsecond operating systems are disposed in a laptop computer system. 15.The method according to claim 10, wherein said managing with the secondoperating system comprises functionally synchronizing with the voicemailserver during a suspended state of said first operating system, wherebythe second operating system receives voicemail data from the voicemailserver.
 16. The method according to claim 15, wherein said functionallysynchronizing comprises the second operating system periodicallyreceiving voicemail data from the voicemail server during a suspendedstate of said first operating system.
 17. The method according to claim10, wherein said managing with the second operating system comprisesreceiving, at the second operating system, notification of pendingoutgoing mail responsive to a suspended state of the first operatingsystem.
 18. The method according to claim 10, further comprisingreceiving, at the second operating system, replicated voicemail datafrom the voicemail server when the first operating system is not in asuspended state.
 19. A program storage device readable by machine,tangibly embodying a program of instructions executable by the machineto perform a method comprising: managing voicemail with a firstoperating system, via a connection with a voicemail server; and managingvoicemail with a second operating system, via a connection with avoicemail server, responsive to a suspended state of the first operatingsystem.